package com.prd.service;

import com.prd.model.UserDO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.prd.request.UserLoginRequest;
import com.prd.request.UserRegisterRequest;
import com.prd.util.JsonData;
import com.prd.vo.LoginRegisterVo;
import com.prd.vo.UserVO;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author lizhaoyi
 * @since 2023-10-23
 */
public interface UserService extends IService<UserDO> {

    /**
     * 用户注册
     * @param registerRequest
     * @return
     */
    JsonData register(UserRegisterRequest registerRequest);

    /**
     * 用户登录
     * @param userLoginRequest
     * @return
     */
    JsonData login(UserLoginRequest userLoginRequest);

    /**
     * 查询用户详情
     * @return
     */
    JsonData findUserDetail();

    /**
     * 用户注册登录
     * @param loginRegisterVo
     * @return
     */
    JsonData registerAndLogin(LoginRegisterVo loginRegisterVo);

    /**
     * 设置密码
     * @param pwd
     * @return
     */
    JsonData setPassword(String pwd);

    /**
     * 更新用户信息
     * @param userVO
     * @return
     */
    JsonData updateUserInfo(UserVO userVO);
}
